*** Settings ***
Library           SeleniumLibrary
Library           String
Library           DateTime
Library           AutoItLibrary
Resource          ../采购管理/采购目录.txt
Resource          ../采购管理/采购品目.txt
Resource          ../常用变量.txt
Resource          ../基本配置.txt
Resource          ../浏览器变量.txt
Resource          ../采购管理/供应商信息.txt
Resource          用户管理页面元素.txt
Resource          岗位信息页面元素.txt

*** Test Cases ***
用户管理添加成功-单个岗位
    [Documentation]    说明
    ...    1、归属机构选择使用岗位信息中的归属机构
    [Setup]    login
    log    打开添加用户页面
    goto    ${user_office_add}
    岗位信息-归属机构
    log    登陆用户名合成
    ${user_office_LoginName01}    Generate Random String    10
    ${d}    get time
    log    ${d}
    ${d}    Get Current Date    result_format=%Y%m%H%M%S
    log    ${d}
    ${user_office_LoginName}    Catenate    SEPARATOR=    ${user_office_LoginName01}    ${d}
    log    ${user_office_LoginName}
    用户管理-登陆名    ${user_office_LoginName}
    ${user_office_name}    Generate Random String    10
    用户管理-姓名    ${user_office_name}
    ${user_office_id}    evaluate    "".join(random.sample("0123456789",6))    random,string
    用户管理-工号    ${user_office_id}
    用户管理-密码    123456
    用户管理-确认密码    123456
    ${user_office_jobTitle}    Generate Random String    12
    用户管理-职称    ${user_office_jobTitle}
    log    身份证号码暂时为空
    用户管理-参加工作日期
    用户管理-职级-科级副职
    用户管理-职级级别-助级
    ${provider_phone}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    手机    ${provider_phone}
    log    ${provider_phone}
    ${provider_tel}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    用户管理-电话    ${provider_tel}
    Comment    电话    ${provider_tel}
    ${email}    随机邮箱
    电子邮件    ${email}
    log    默认用户允许登陆和APP登陆
    用户管理-用户岗位选择一个
    ${provider_remark}    Generate Random String    25
    供应商-备注    ${provider_remark}
    供应商-保存
    sleep    3
    用户管理-登陆名-查询    ${user_office_LoginName}
    sleep    3
    用户添加断言    ${user_office_LoginName}
    [Teardown]    close

用户管理添加时间日期格式验证
    ${d}    get time
    log    ${d}
    ${d1}    Get Current Date    result_format=%Y%m%d%H%M%S
    log    ${d1}
    ${d3}    Evaluate    datetime.datetime.now().strftime('%Y%m%d%H%M%S')    datetime
    log    ${d3}

用户管理添加成功-单个岗位-处级以下
    [Documentation]    说明
    ...    1、归属机构选择使用岗位信息中的归属机构
    [Setup]    login
    log    打开添加用户页面
    goto    ${user_office_add}
    岗位信息-归属机构
    log    登陆用户名合成
    ${user_office_LoginName01}    Generate Random String    10
    ${d}    get time
    log    ${d}
    ${d}    Get Current Date    result_format=%Y%m%H%M%S
    log    ${d}
    ${user_office_LoginName}    Catenate    SEPARATOR=    ${user_office_LoginName01}    ${d}
    log    ${user_office_LoginName}
    用户管理-登陆名    ${user_office_LoginName}
    ${user_office_name}    Generate Random String    10
    用户管理-姓名    ${user_office_name}
    ${user_office_id}    evaluate    "".join(random.sample("0123456789",6))    random,string
    用户管理-工号    ${user_office_id}
    用户管理-密码    123456
    用户管理-确认密码    123456
    ${user_office_jobTitle}    Generate Random String    12
    用户管理-职称    ${user_office_jobTitle}
    log    身份证号码暂时为空
    用户管理-参加工作日期
    用户管理-职级-处级及以下
    用户管理-职级级别-助级
    ${provider_phone}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    手机    ${provider_phone}
    log    ${provider_phone}
    ${provider_tel}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    用户管理-电话    ${provider_tel}
    Comment    电话    ${provider_tel}
    ${email}    随机邮箱
    电子邮件    ${email}
    log    默认用户允许登陆和APP登陆
    用户管理-用户岗位选择一个
    ${provider_remark}    Generate Random String    25
    供应商-备注    ${provider_remark}
    供应商-保存
    sleep    3
    用户管理-登陆名-查询    ${user_office_LoginName}
    sleep    3
    用户添加断言    ${user_office_LoginName}
    [Teardown]    close

用户管理添加成功-单个岗位-厅级副职
    [Documentation]    说明
    ...    1、归属机构选择使用岗位信息中的归属机构
    [Setup]    login
    log    打开添加用户页面
    goto    ${user_office_add}
    岗位信息-归属机构
    log    登陆用户名合成
    ${user_office_LoginName01}    Generate Random String    10
    ${d}    get time
    log    ${d}
    ${d}    Get Current Date    result_format=%Y%m%H%M%S
    log    ${d}
    ${user_office_LoginName}    Catenate    SEPARATOR=    ${user_office_LoginName01}    ${d}
    log    ${user_office_LoginName}
    用户管理-登陆名    ${user_office_LoginName}
    ${user_office_name}    Generate Random String    10
    用户管理-姓名    ${user_office_name}
    ${user_office_id}    evaluate    "".join(random.sample("0123456789",6))    random,string
    用户管理-工号    ${user_office_id}
    用户管理-密码    123456
    用户管理-确认密码    123456
    ${user_office_jobTitle}    Generate Random String    12
    用户管理-职称    ${user_office_jobTitle}
    log    身份证号码暂时为空
    用户管理-参加工作日期
    用户管理-职级-厅级副职
    用户管理-职级级别-助级
    ${provider_phone}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    手机    ${provider_phone}
    log    ${provider_phone}
    ${provider_tel}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    用户管理-电话    ${provider_tel}
    Comment    电话    ${provider_tel}
    ${email}    随机邮箱
    电子邮件    ${email}
    log    默认用户允许登陆和APP登陆
    用户管理-用户岗位选择一个
    ${provider_remark}    Generate Random String    25
    供应商-备注    ${provider_remark}
    供应商-保存
    sleep    3
    用户管理-登陆名-查询    ${user_office_LoginName}
    sleep    3
    用户添加断言    ${user_office_LoginName}
    [Teardown]    close

用户管理添加成功-单个岗位-部级正职
    [Documentation]    说明
    ...    1、归属机构选择使用岗位信息中的归属机构
    [Setup]    login
    log    打开添加用户页面
    goto    ${user_office_add}
    岗位信息-归属机构
    log    登陆用户名合成
    ${user_office_LoginName01}    Generate Random String    10
    ${d}    get time
    log    ${d}
    ${d}    Get Current Date    result_format=%Y%m%H%M%S
    log    ${d}
    ${user_office_LoginName}    Catenate    SEPARATOR=    ${user_office_LoginName01}    ${d}
    log    ${user_office_LoginName}
    用户管理-登陆名    ${user_office_LoginName}
    ${user_office_name}    Generate Random String    10
    用户管理-姓名    ${user_office_name}
    ${user_office_id}    evaluate    "".join(random.sample("0123456789",6))    random,string
    用户管理-工号    ${user_office_id}
    用户管理-密码    123456
    用户管理-确认密码    123456
    ${user_office_jobTitle}    Generate Random String    12
    用户管理-职称    ${user_office_jobTitle}
    log    身份证号码暂时为空
    用户管理-参加工作日期
    用户管理-职级-部级正职
    用户管理-职级级别-助级
    ${provider_phone}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    手机    ${provider_phone}
    log    ${provider_phone}
    ${provider_tel}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    用户管理-电话    ${provider_tel}
    Comment    电话    ${provider_tel}
    ${email}    随机邮箱
    电子邮件    ${email}
    log    默认用户允许登陆和APP登陆
    用户管理-用户岗位选择一个
    ${provider_remark}    Generate Random String    25
    供应商-备注    ${provider_remark}
    供应商-保存
    sleep    3
    用户管理-登陆名-查询    ${user_office_LoginName}
    sleep    3
    用户添加断言    ${user_office_LoginName}
    [Teardown]    close

用户管理添加成功-单个岗位-主席级
    [Documentation]    说明
    ...    1、归属机构选择使用岗位信息中的归属机构
    [Setup]    login
    log    打开添加用户页面
    goto    ${user_office_add}
    岗位信息-归属机构
    log    登陆用户名合成
    ${user_office_LoginName01}    Generate Random String    10
    ${d}    get time
    log    ${d}
    ${d}    Get Current Date    result_format=%Y%m%H%M%S
    log    ${d}
    ${user_office_LoginName}    Catenate    SEPARATOR=    ${user_office_LoginName01}    ${d}
    log    ${user_office_LoginName}
    用户管理-登陆名    ${user_office_LoginName}
    ${user_office_name}    Generate Random String    10
    用户管理-姓名    ${user_office_name}
    ${user_office_id}    evaluate    "".join(random.sample("0123456789",6))    random,string
    用户管理-工号    ${user_office_id}
    用户管理-密码    123456
    用户管理-确认密码    123456
    ${user_office_jobTitle}    Generate Random String    12
    用户管理-职称    ${user_office_jobTitle}
    log    身份证号码暂时为空
    用户管理-参加工作日期
    用户管理-职级-主席级
    用户管理-职级级别-中级
    ${provider_phone}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    手机    ${provider_phone}
    log    ${provider_phone}
    ${provider_tel}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    用户管理-电话    ${provider_tel}
    Comment    电话    ${provider_tel}
    ${email}    随机邮箱
    电子邮件    ${email}
    log    默认用户允许登陆和APP登陆
    用户管理-用户岗位选择一个
    ${provider_remark}    Generate Random String    25
    供应商-备注    ${provider_remark}
    供应商-保存
    sleep    3
    用户管理-登陆名-查询    ${user_office_LoginName}
    sleep    3
    用户添加断言    ${user_office_LoginName}
    [Teardown]    close

用户管理修改
    [Documentation]    说明
    ...    1、归属机构选择使用岗位信息中的归属机构
    [Setup]    login
    add_user_office
    log    打开用户页面
    goto    ${user_office_list}
    用户管理点击修改
    sleep    3
    ${user_office_name}    Generate Random String    10
    用户管理-姓名    ${user_office_name}
    ${user_office_id}    evaluate    "".join(random.sample("0123456789",6))    random,string
    用户管理-工号    ${user_office_id}
    用户管理-密码    123456
    用户管理-确认密码    123456
    ${user_office_jobTitle}    Generate Random String    12
    用户管理-职称    ${user_office_jobTitle}
    log    身份证号码暂时为空
    log    用户工作时间，默认不修改，实际上可以
    Comment    用户管理-参加工作日期
    sleep    3
    用户管理-职级-主席级
    sleep    3
    用户管理-职级级别-中级
    ${provider_phone}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    手机    ${provider_phone}
    log    ${provider_phone}
    ${provider_tel}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    用户管理-电话    ${provider_tel}
    Comment    电话    ${provider_tel}
    ${email}    随机邮箱
    电子邮件    ${email}
    log    默认用户允许登陆和APP登陆
    用户管理-用户岗位选择两个
    ${provider_remark}    Generate Random String    25
    供应商-备注    ${provider_remark}
    供应商-保存
    Comment    sleep    3
    Comment    用户管理点击修改-确认修改
    sleep    3
    用户管理-姓名-查询    ${user_office_name}
    sleep    3
    用户添加断言-修改姓名    ${user_office_name}
    [Teardown]    close

用户管理删除
    [Documentation]    说明
    ...    1、归属机构选择使用岗位信息中的归属机构
    ...    2、删除断言暂时缺失
    [Setup]    login
    add_user_office
    log    打开用户页面
    goto    ${user_office_list}
    用户管理点击删除
    sleep    3
    用户管理点击删除-确认删除
    [Teardown]    close

用户管理修改-直接保存-修改用户所属机构
    [Documentation]    说明
    ...    1、归属机构选择使用岗位信息中的归属机构
    [Tags]    more
    [Setup]    login
    Comment    add_user_office
    log    打开用户页面
    goto    ${user_office_list}
    sleep    3
    用户管理点击修改
    Comment    岗位信息-归属机构
    Comment    log    登陆用户名合成
    Comment    ${user_office_LoginName01}    Generate Random String    10
    Comment    ${d}    get time
    Comment    log    ${d}
    Comment    ${d}    Get Current Date    result_format=%Y%m%H%M%S
    Comment    log    ${d}
    Comment    ${user_office_LoginName}    Catenate    SEPARATOR=    ${user_office_LoginName01}    ${d}
    Comment    log    ${user_office_LoginName}
    Comment    用户管理-登陆名    ${user_office_LoginName}
    Comment    ${user_office_name}    Generate Random String    10
    Comment    用户管理-姓名    ${user_office_name}
    Comment    ${user_office_id}    evaluate    "".join(random.sample("0123456789",6))    random,string
    Comment    用户管理-工号    ${user_office_id}
    Comment    用户管理-密码    123456
    Comment    用户管理-确认密码    123456
    Comment    ${user_office_jobTitle}    Generate Random String    12
    Comment    用户管理-职称    ${user_office_jobTitle}
    Comment    log    身份证号码暂时为空
    Comment    log    用户工作时间，默认不修改，实际上可以
    Comment    Comment    用户管理-参加工作日期
    Comment    sleep    3
    Comment    用户管理-职级-主席级
    Comment    sleep    3
    Comment    用户管理-职级级别-中级
    Comment    ${provider_phone}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    Comment    手机    ${provider_phone}
    Comment    log    ${provider_phone}
    Comment    ${provider_tel}    evaluate    random.choice(['139','188','185','136','158','151'])+"".join(random.choice("0123456789") for i in range(8))    random
    Comment    用户管理-电话    ${provider_tel}
    Comment    Comment    电话    ${provider_tel}
    Comment    ${email}    随机邮箱
    Comment    电子邮件    ${email}
    Comment    log    默认用户允许登陆和APP登陆
    Comment    用户管理-用户岗位选择两个
    Comment    ${provider_remark}    Generate Random String    25
    Comment    供应商-备注    ${provider_remark}
    sleep    3
    供应商-保存
    Comment    sleep    3
    Comment    用户管理点击修改-确认修改
    sleep    5
    Comment    用户添加断言-修改姓名    ${user_office_name}
    [Teardown]    close

用户管理修改-直接保存-修改用户所属机构-迭代N次
    [Documentation]    说明
    ...    1、归属机构选择使用岗位信息中的归属机构
    [Setup]    login
    Repeat Keyword    342 times    add_user_iterator
    [Teardown]    close
